741df6a1a098c4676a0e86f2b0f42c328e10b754,pcm/src/main/java/gov/samhsa/mhc/pcm/service/fhir/FhirContractServiceImpl.java,FhirContractServiceImpl,createBasicConsent,#ConsentAttestationDto#PatientProfileDto#,82
Before Change
// specify the covered entity authorized to disclose
// add source resource and authority reference
Organization sourceOrganizationResource = setOrganizationProvider(consentAttestationDto.getOrgProvidersDisclosureIsMadeTo());
sourceOrganizationResource.addIdentifier().setValue("Source Organization Details");
contract.getContained().getContainedResources().add(sourceOrganizationResource);
contract.addAuthority().setReference("#" + sourceOrganizationResource.getId());
//This is required if the organization was not already added as a "contained" resource reference by the Patient
//contract.getContained().getContainedResources().add(sourceOrganizationResource);
// specify the provider who authored the data
if(null == sourceOrganizationResource) {
Practitioner sourcePractitioner = setPractitionerProvider(consentAttestationDto.getIndProvidersDisclosureIsMadeTo());
contract.addActor().getEntity().setReference("#" + sourcePractitioner.getId());
contract.getContained().getContainedResources().add(sourcePractitioner);
}
After Change
for(ConsentOrganizationalProviderDisclosureIsMadeTo orgMadeTo : consent.getOrganizationalProvidersDisclosureIsMadeTo()){
recipientOrgMadeTo.add(orgMadeTo.getOrganizationalProvider());
}
Organization recipientOrganization = setOrganizationProvider(recipientOrgMadeTo, RECIPIENT_ORG_ID);
contract.getContained().getContainedResources().add(recipientOrganization);
contract.addAuthority().setReference("#" + recipientOrganization.getId());
//This is required if the organization was not already added as a "contained" resource reference by the Patient
//contract.getContained().getContainedResources().add(sourceOrganizationResource);
// specify the provider who authored the data
if(null == recipientOrganization) {
Set<IndividualProvider> recipientindPermittedTo = new HashSet<IndividualProvider>();
for(ConsentIndividualProviderDisclosureIsMadeTo indPermittedTo : consent.getProvidersDisclosureIsMadeTo()){
recipientindPermittedTo.add(indPermittedTo.getIndividualProvider());
}
Practitioner recipientPractitioner = setPractitionerProvider(recipientindPermittedTo, RECIPIENT_IND_ID);
contract.addActor().getEntity().setReference("#" + recipientPractitioner.getId());
contract.getContained().getContainedResources().add(recipientPractitioner);
}